package br.com.array.android.ma.controller.alarmes;


import br.com.array.android.ma.model.Alarme;

/**
 * Created by santosmgbh on 08/08/14.
 */
public class AlarmesBO implements Runnable {

    private long timeToDo = 300000;

    public void setTimeToDo(long timeToDo) {
        this.timeToDo = timeToDo;
    }

    public void setmOnVerificacaoAlarme(OnVerificacaoAlarme mOnVerificacaoAlarme) {
        this.mOnVerificacaoAlarme = mOnVerificacaoAlarme;
    }

    @Override
    public void run() {
        if (!Thread.currentThread().isInterrupted()) {
            try {

                IAlarmeBO alarmeBO = new DemandaContratadaBO();
                Alarme alarme = alarmeBO.getDadoModelo();
                mOnVerificacaoAlarme.onVerificacao(alarme, alarmeBO.alarmar(alarme));

                alarmeBO = new FatorPotenciaBO();
                alarme = alarmeBO.getDadoModelo();
                mOnVerificacaoAlarme.onVerificacao(alarme, alarmeBO.alarmar(alarme));

                alarmeBO = new DemandaReativoBO();
                alarme = alarmeBO.getDadoModelo();
                mOnVerificacaoAlarme.onVerificacao(alarme, alarmeBO.alarmar(alarme));

                //wait();
            }
            catch (Exception ex) {
                Thread.currentThread().interrupt();
            }
        }
    }

    private OnVerificacaoAlarme mOnVerificacaoAlarme = new OnVerificacaoAlarme() {
        @Override
        public void onVerificacao(Alarme alarme, boolean alarmar) {

        }
    };

    public interface OnVerificacaoAlarme {
        void onVerificacao(Alarme alarme, boolean alarmar);
    }

}
